package com.gxa.pingan.utils;

import java.util.regex.Pattern;

/**
 * @author YXQ
 * @date 2021/10/26 22:44
 */
public class StringUtils {
    /**
     * 判断字符串是否为空
     *
     * @param str 待判断的字符串
     * @return 空返回true
     */
    public static boolean isEmpty(String str) {
        // 通过str.trim去掉字符串多余的空格
        return str == null || "".equals(str.trim());
    }

    /**
     * 判断是否是合法手机号
     *
     * @param phone 被校验的手机号
     * @return 合法true
     */
    public static boolean isPhoneNumber(String phone) {
        return phone.matches("^1(3\\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\\d|9[0-35-9])\\d{8}$");
    }

    /**
     * 1.“@”的左边限制：
     * 由a～z的英文字母（不区分大小写）开头
     * 可由英文字母、0～9的数字、点、减号或下划线组成
     * 长度为3～18个字符
     * 不能以点、减号结尾
     * 2.“@”的右边限制：
     * 只能有一个点，点和"@"之间不能为空
     * 可由英文字母、0～9的数字、点、减号或下划线组成
     * 不能以点、减号或下划线结尾
     * @param email 被校验的手邮箱
     * @return 合法true
     */
    public static boolean isEmail(String email) {
        return Pattern.matches("^(\\w+([-.][A-Za-z0-9]+)*){3,18}@\\w+([-.][A-Za-z0-9]+)*\\.\\w+([-.][A-Za-z0-9]+)*$", email);
    }
}
